package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 data_report
 * 
 * @author ruoyi
 * @date 2025-04-17
 */
public class DataReport extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long reportId;

    /** 报表名称 */
    @Excel(name = "报表名称")
    private String reportName;

    /** 报表描述, 如果是AI创建报表，则此处描述是生成报表的提问内容 */
    @Excel(name = "报表描述, 如果是AI创建报表，则此处描述是生成报表的提问内容")
    private String reportDesc;

    /** 报表生成类型(0:手动,1:AI) */
    @Excel(name = "报表生成类型(0:手动,1:AI)")
    private Long genType;

    /** 当前报表关联的库表信息,列表格式 */
    @Excel(name = "当前报表关联的库表信息,列表格式")
    private String dtInfos;

    /** 库表信息中包含的表的数量 */
    @Excel(name = "库表信息中包含的表的数量")
    private Long dtNum;

    /** 创建报表包含的sql信息，支持多条语句，支持sql注释说明 */
    @Excel(name = "创建报表包含的sql信息，支持多条语句，支持sql注释说明")
    private String sqlInfos;

    /** 报表x轴，支持表达式
[{
  "name": "华南华北销售总额",
  "expr":"A+B"
}] */
    @Excel(name = "报表x轴，支持表达式")
    private String reportX;

    /** 报表y轴，支持表达式
[{
  "name": "华南华北销售总额",
  "expr":"A+B"
  “aggr”: "sum"
}] */
    @Excel(name = "报表y轴，支持表达式")
    private String reportY;

    /** B<br/> */
    @Excel(name = "报表x轴，支持表达式")
    private String showX;

    /** A;sum<br/> */
    @Excel(name = "报表y轴，支持表达式")
    private String showY;

    /** 图表类型 */
    @Excel(name = "图表类型")
    private String reportType;

    public void setReportId(Long reportId) 
    {
        this.reportId = reportId;
    }

    public Long getReportId() 
    {
        return reportId;
    }

    public void setReportName(String reportName) 
    {
        this.reportName = reportName;
    }

    public String getReportName() 
    {
        return reportName;
    }

    public void setReportDesc(String reportDesc) 
    {
        this.reportDesc = reportDesc;
    }

    public String getReportDesc() 
    {
        return reportDesc;
    }

    public void setGenType(Long genType) 
    {
        this.genType = genType;
    }

    public Long getGenType() 
    {
        return genType;
    }

    public void setDtInfos(String dtInfos) 
    {
        this.dtInfos = dtInfos;
    }

    public String getDtInfos() 
    {
        return dtInfos;
    }

    public void setDtNum(Long dtNum) 
    {
        this.dtNum = dtNum;
    }

    public Long getDtNum() 
    {
        return dtNum;
    }

    public void setSqlInfos(String sqlInfos) 
    {
        this.sqlInfos = sqlInfos;
    }

    public String getSqlInfos() 
    {
        return sqlInfos;
    }

    public void setReportX(String reportX) 
    {
        this.reportX = reportX;
    }

    public String getReportX() 
    {
        return reportX;
    }

    public void setReportY(String reportY) 
    {
        this.reportY = reportY;
    }

    public String getReportY() 
    {
        return reportY;
    }

    public void setShowX(String showX)
    {
        this.showX = showX;
    }

    public String getShowX()
    {
        return showX;
    }

    public void setShowY(String showY)
    {
        this.showY = showY;
    }

    public String getShowY()
    {
        return showY;
    }
    
    public void setReportType(String reportType) 
    {
        this.reportType = reportType;
    }

    public String getReportType() 
    {
        return reportType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("reportId", getReportId())
            .append("reportName", getReportName())
            .append("reportDesc", getReportDesc())
            .append("genType", getGenType())
            .append("dtInfos", getDtInfos())
            .append("dtNum", getDtNum())
            .append("sqlInfos", getSqlInfos())
            .append("reportX", getReportX())
            .append("reportY", getReportY())
            .append("reportType", getReportType())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
